2021-08-20 Python 3.10の新機能(その5) パラメータ仕様変数
Python3.10で追加された型ヒント関連機能から、 PEP 612 Parameter Specification Variables を解説します。
これまでの型ヒントでは、デコレータ などに代表される、既存の関数をラップして新しく関数を作成するような機能のサポートが十分ではありませんでした。
PEP 612 では、従来の 型変数 に加えてパラメータ仕様変数(Parameter Specification Variables) という種類の変数を新たにを追加し、関数の引数を参照して型定義を行えるようになりました。
デコレータの型ヒント
2021-08-19 Python 3.10の新機能(その4) | 演算子によるユニオン型の指定
型ヒント関連では、次の機能がPython 3.10で追加されました。
- PEP 604 Allow writing union types as X | Y
- PEP 612 Parameter Specification Variables
- PEP 613 Explicit Type Aliases
- PEP 647 User-Defined Type Guards
まず、PEP 604 Allow writing union types as X | Y から解説します。
|
演算子によるユニオン型の指定¶
Pythonでは、引数にいろいろな種類の値を指定できる関数がめずらしくありません
2021-07-28 Python 3.10の新機能(その3) エラーメッセージの改善
次のプログラムには、間違いが一箇所あります。どこが間違っているか、わかるでしょうか?
d = {1:1,
2:2,
3:3
do_something(d)
このプログラムをこれまでのPythonで実行すると、次のようなエラーが表示されます。
File "/home/python/test.py", line 6
do_something(d)
^
SyntaxError: invalid syntax
エラーメッセージは、「文法エラー: 正しくない文法です」 とかかれています。あんまり役に立たないエラーメッセージですね。なにが間違っているのか、
2021-07-27 Python 3.10の新機能(その2) with文のネスト
Python 3.10では、もう一つ、文法が変更されました。この修正、実は Python3.9 ですでに導入されていたのですが、隠し機能的な扱いでドキュメントには記載されていませんでした。このサイトでは以前にこの機能を紹介していましたが、ここで新しい解説を追加して再掲します。
Pythonのwith文¶
Pythonでは、ある一定の期間だけオブジェクトを使用したり、いろいろな設定を行って用事がすんだら元に戻したい、という処理を行うとき、with
文を使用します。
たとえば、ファイルを読み込むときには、with
文を利用して
2021-07-26 Python 3.10の新機能(その1) パターンマッチ
今年も、Pythonのメジャーリリースの季節がやってまいりました。
Python 3.9から、Pythonのメジャーバージョンアップは年に一度、10月に行われるようになりました。Python 3.10は一年周期のリリースに切り替わってから、2度めのリリースです。
Python 3.9の次のバージョン番号は4.0? と思っていた方も多かったようですが、4.0ではなく3.10となります。
このシリーズでは、何回かにわけてPython 3.10の新機能を紹介していきます。まず、Pythonの新たな文法として追加された構造的パター